iT邦幫忙

2025 iThome 鐵人賽

DAY 7
0

剛開始學程式拆分時,我常搞不清楚:

哪些邏輯該放在主程式?哪些該拆成模組?

模組化 (Modularization) 的概念

模組化就是把程式拆分成小而獨立的功能單元,每個模組只專注於自己的功能。
例如:

  • 登入(Login)
  • 金流(Payment)
  • 會員管理(Member Management)
  • 權限管理(Permission Control)

優點:

  • 降低耦合度:修改某個模組,不會影響其他功能。
  • 維護性高:程式碼拆分後更容易閱讀與維護。
  • 可重複利用:模組可以在不同專案中重用。
  • 分工合作:多人開發時,每人負責不同模組,提高效率。

Node.js 的模組類型

內建模組(Built-in Modules)

  • Node.js 官方提供,例如 os、fs、http。

    var os = require('os');
    console.log(os.platform());  // darwin
    
    用別人寫好的功能引入進來
    

自訂模組(Custom Modules)

  • 自己寫的功能檔案。

    • 透過 module.exports 導出,再用 require() 引入。
    • import 與 export 關鍵字來定義和導入模塊。
    export function isLength(input, boundary) {
      if (input.length !== boundary) {
        throw new Error(`請輸入${boundary}個字母`);
      }
    }
    

第三方模組(Third-party Modules)

  • 透過 npm 安裝別人寫好的功能
    例如 express、lodash、moment。

    npm install express
    

模組使用方式

  • CommonJS(Node.js)
    最初是為了Node.js開發設計。

    const login = require('./login');
    
  • ES Module(ES6 標準)
    import與export關鍵字來定義和導入模塊

    import login from './login.js';
    

後面幾天再來繼續講 CommonJSES Module 的差異~

參考資料


上一篇
Day6|Node.js簡介
下一篇
Day8|Module Wrapper(Node.js 內部機制)
系列文
程式小白的 30 天轉職挑戰9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言